package com.tedu;

import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
import org.jsoup.select.Elements;
import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;
import us.codecraft.webmagic.selector.Selectable;

import java.util.List;

/**
 * 我的第一个爬虫项目，入门案例
 */
public class ReptileMain implements PageProcessor {
    //声明爬虫的site对象，设置参数，重试次数，爬取时间间隔
    private Site site = Site.me().setRetryTimes(2).setTimeOut(2000).setSleepTime(2000);

    /**
     * 爬虫爬取内容
     * @param page
     */
    public void process(Page page) {
        //输出页面的超链接  9分钟。。。。
//        System.out.println("标题："+page.getHtml());
        //获取超链接   使用正则表达式   解析出  符合条件的uml
        List<String> all = page.getHtml().links().all();
        System.out.println(all);
       //把超链接放到爬虫的队列中，自动爬虫，把网址的数据全部爬取，结束，，不结束。。。
//        page.addTargetRequests(all);


        // 解析 类型
        Elements currChnlCls = page.getHtml().getDocument().getElementsByClass("Custom_UnionStyle");
        System.out.println(currChnlCls);

    }

    public Site getSite() {
        return site;
    }
    /**
     * 第一个爬虫的入口
     * @param args
     */
    public static void main(String[] args) {
        //声明一个爬虫的解析组件
        ReptileMain reptileMain = new ReptileMain();
        //声明一个爬虫的导演Spider
        Spider spider = Spider.create(reptileMain);
        //设置参数
        spider.addUrl("http://www.dangjian.com/djw2016sy/djw2016dsgs/202005/t20200514_5573842.shtml");
        //设置线程
        spider.thread(5);
        spider.run();

    }
}
